1. Technical Field
This invention relates in general to digital information delivery networks and, more particularly, to a method and apparatus for indicating discarded packets in a network.
2. Description of the Related Art
In a digital information delivery network, between a source device and a destination device, packets of data may be lost for a variety of reasons. Some packets are randomly lost due to uncontrollable errors—for example, errors caused by noise on a transmission line, synchronization issues, etc. Some packets are lost due to constraints in network resources (e.g. transmission, switching, computing, etc). In this case packets are normally deleted in a controlled manner.
Using current technologies, the destination device of a stream of packets currently cannot distinguish between missing packets due to controlled circumstances and missing packets due to uncontrolled circumstances. For some data transfer protocols, missing packets cause the destination device to request a retransmission of the missing information. This is not very feasible in a network that has multicasting of real-time streams such as audio or video. Normally, there will not be enough time available for requesting and receiving the retransmitted packets, unless buffers at the destination device are very large. If the problem of packet loss is due to congestion, retransmission requests can only add to the congestion.
When an expected packet in a packet stream is not received at the destination device, the destination device waits for a certain amount of time before declaring a packet as lost. Once a packet is declared as lost, the destination device attempts to recover either by retransmission or by error concealment techniques. By the time a loss of data is determined it may be too late to process error recovery or error concealment algorithms for real-time services.
Several solutions are known for detecting packet loss at the destination device but they all require a time delay that may be detrimental for real-time services. Some protocols provide for a sequence number in each packet in a stream. If, at the destination device, a numbered packet does not arrive in sequence, a lost packet condition is declared and error recovery mechanisms can start. Another method waits for a timeout period and then declares a loss of packet. Yet another method ignores the lost data and processes the next data packet that arrives at the destination device.
The delay incurred in currently available packet loss detection techniques can be detrimental to real-time services. The destination device waiting to declare the packet lost wastes time and processor resources that would be better used to conceal the error caused by the lost information. If the packet loss is ignored for audio or video services objectionable artifacts will be experienced by the application listener or viewer.
Accordingly, there is a need for a method and apparatus for identifying and remediating lost packets.